[INFO] fetching crate bitcoin-chain 0.3.1...
[INFO] checking bitcoin-chain-0.3.1 against try#163937523761cc0def32f1ba9ed63fdf65ad3478 for pr-156749
[INFO] extracting crate bitcoin-chain 0.3.1 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate bitcoin-chain 0.3.1
[INFO] finished tweaking crates.io crate bitcoin-chain 0.3.1
[INFO] tweaked toml for crates.io crate bitcoin-chain 0.3.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate bitcoin-chain 0.3.1 on toolchain 163937523761cc0def32f1ba9ed63fdf65ad3478
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 22 packages to latest compatible versions
[INFO] [stderr]       Adding bitcoin v0.15.1 (available: v0.32.10)
[INFO] [stderr]       Adding cc v1.0.26 (available: v1.2.64)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `bitcoin-chain` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2edf884fc42ececdc28fd781c67f33febaa0b4f42fef43107ab4148fa52f8592
[INFO] running `Command { std: "docker" "start" "2edf884fc42ececdc28fd781c67f33febaa0b4f42fef43107ab4148fa52f8592", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2edf884fc42ececdc28fd781c67f33febaa0b4f42fef43107ab4148fa52f8592" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2edf884fc42ececdc28fd781c67f33febaa0b4f42fef43107ab4148fa52f8592", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2edf884fc42ececdc28fd781c67f33febaa0b4f42fef43107ab4148fa52f8592" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `bitcoin-chain` (manifest) generated 1 warning
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling cc v1.0.26
[INFO] [stderr]     Checking bech32 v0.5.0
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking bitcoin-bech32 v0.8.1
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]    Compiling secp256k1 v0.11.6
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking bitcoin v0.15.1
[INFO] [stderr]     Checking bitcoin-chain v0.3.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         try!(self.block.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         try!(self.total_work.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |         try!(self.required_difficulty.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         try!(self.height.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         try!(self.has_txdata.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:135:20
[INFO] [stdout]     |
[INFO] [stdout] 135 |             block: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:136:25
[INFO] [stdout]     |
[INFO] [stdout] 136 |             total_work: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |             required_difficulty: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |             height: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |             has_txdata: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |         try!(self.network.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         try!(self.tree.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |         try!(self.best_hash.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         try!(self.genesis_hash.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:176:32
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let network: Network = try!(Decodable::consensus_decode(d));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:177:35
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let mut tree: BlockTree = try!(Decodable::consensus_decode(d));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:178:38
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let best_hash: Sha256dHash = try!(Decodable::consensus_decode(d));
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:179:41
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let genesis_hash: Sha256dHash = try!(Decodable::consensus_decode(d));
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout] 540 |         try!(new_block.block.header.spv_validate(&new_block.required_difficulty));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:376:13
[INFO] [stdout]     |
[INFO] [stdout] 376 |             try!(writeln!(f, ": {:?}", tree.data));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:374:17
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 try!(write!(f, "{:}", if tree.skip_prefix.bit(i) { 1 } else { 0 }));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:382:17
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 try!(write!(f, "0"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:383:17
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 try!(recurse(&**t, f, depth + tree.skip_len as usize + 1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:380:21
[INFO] [stdout]     |
[INFO] [stdout] 380 |                     try!(write!(f, "-"));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:390:17
[INFO] [stdout]     |
[INFO] [stdout] 390 |                 try!(write!(f, "1"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:391:17
[INFO] [stdout]     |
[INFO] [stdout] 391 |                 try!(recurse(&**t, f, depth + tree.skip_len as usize + 1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:388:21
[INFO] [stdout]     |
[INFO] [stdout] 388 |                     try!(write!(f, "_"));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |         try!(self.skip_prefix.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |         try!(self.skip_len.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |         try!(self.data.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 409 |         try!(self.child_l.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |         try!(self.child_r.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:422:26
[INFO] [stdout]     |
[INFO] [stdout] 422 |             skip_prefix: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:423:23
[INFO] [stdout]     |
[INFO] [stdout] 423 |             skip_len: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:424:19
[INFO] [stdout]     |
[INFO] [stdout] 424 |             data: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:425:22
[INFO] [stdout]     |
[INFO] [stdout] 425 |             child_l: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:426:22
[INFO] [stdout]     |
[INFO] [stdout] 426 |             child_r: try!(Decodable::consensus_decode(d))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         try!(self.block.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         try!(self.total_work.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |         try!(self.required_difficulty.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         try!(self.height.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         try!(self.has_txdata.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:135:20
[INFO] [stdout]     |
[INFO] [stdout] 135 |             block: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:136:25
[INFO] [stdout]     |
[INFO] [stdout] 136 |             total_work: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |             required_difficulty: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |             height: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |             has_txdata: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |         try!(self.network.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         try!(self.tree.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |         try!(self.best_hash.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         try!(self.genesis_hash.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:176:32
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let network: Network = try!(Decodable::consensus_decode(d));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:177:35
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let mut tree: BlockTree = try!(Decodable::consensus_decode(d));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:178:38
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let best_hash: Sha256dHash = try!(Decodable::consensus_decode(d));
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:179:41
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let genesis_hash: Sha256dHash = try!(Decodable::consensus_decode(d));
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/blockchain.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout] 540 |         try!(new_block.block.header.spv_validate(&new_block.required_difficulty));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:376:13
[INFO] [stdout]     |
[INFO] [stdout] 376 |             try!(writeln!(f, ": {:?}", tree.data));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:374:17
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 try!(write!(f, "{:}", if tree.skip_prefix.bit(i) { 1 } else { 0 }));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:382:17
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 try!(write!(f, "0"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:383:17
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 try!(recurse(&**t, f, depth + tree.skip_len as usize + 1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:380:21
[INFO] [stdout]     |
[INFO] [stdout] 380 |                     try!(write!(f, "-"));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:390:17
[INFO] [stdout]     |
[INFO] [stdout] 390 |                 try!(write!(f, "1"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:391:17
[INFO] [stdout]     |
[INFO] [stdout] 391 |                 try!(recurse(&**t, f, depth + tree.skip_len as usize + 1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:388:21
[INFO] [stdout]     |
[INFO] [stdout] 388 |                     try!(write!(f, "_"));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |         try!(self.skip_prefix.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |         try!(self.skip_len.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |         try!(self.data.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 409 |         try!(self.child_l.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |         try!(self.child_r.consensus_encode(s));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:422:26
[INFO] [stdout]     |
[INFO] [stdout] 422 |             skip_prefix: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:423:23
[INFO] [stdout]     |
[INFO] [stdout] 423 |             skip_len: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:424:19
[INFO] [stdout]     |
[INFO] [stdout] 424 |             data: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:425:22
[INFO] [stdout]     |
[INFO] [stdout] 425 |             child_l: try!(Decodable::consensus_decode(d)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/patricia_tree.rs:426:22
[INFO] [stdout]     |
[INFO] [stdout] 426 |             child_r: try!(Decodable::consensus_decode(d))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/blockchain.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 |         (self as &fmt::Display).fmt(f)
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |         (self as &dyn fmt::Display).fmt(f)
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/blockchain.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 |         (self as &fmt::Display).fmt(f)
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 |         (self as &dyn fmt::Display).fmt(f)
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blockchain.rs:598:17
[INFO] [stdout]     |
[INFO] [stdout] 598 |     pub fn iter(&self, start_hash: Sha256dHash) -> BlockIter {
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here  ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 598 |     pub fn iter(&self, start_hash: Sha256dHash) -> BlockIter<'_> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blockchain.rs:610:21
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn rev_iter(&self, start_hash: Sha256dHash) -> RevBlockIter {
[INFO] [stdout]     |                     ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn rev_iter(&self, start_hash: Sha256dHash) -> RevBlockIter<'_> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blockchain.rs:622:27
[INFO] [stdout]     |
[INFO] [stdout] 622 |     pub fn rev_stale_iter(&self, start_hash: Sha256dHash) -> RevStaleBlockIter {
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 622 |     pub fn rev_stale_iter(&self, start_hash: Sha256dHash) -> RevStaleBlockIter<'_> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patricia_tree.rs:348:17
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn iter(&self) -> Items<K, V> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn iter(&self) -> Items<'_, K, V> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patricia_tree.rs:357:21
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn mut_iter(&mut self) -> MutItems<K, V> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn mut_iter(&mut self) -> MutItems<'_, K, V> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blockchain.rs:598:17
[INFO] [stdout]     |
[INFO] [stdout] 598 |     pub fn iter(&self, start_hash: Sha256dHash) -> BlockIter {
[INFO] [stdout]     |                 ^^^^^ the lifetime is elided here  ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 598 |     pub fn iter(&self, start_hash: Sha256dHash) -> BlockIter<'_> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blockchain.rs:610:21
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn rev_iter(&self, start_hash: Sha256dHash) -> RevBlockIter {
[INFO] [stdout]     |                     ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn rev_iter(&self, start_hash: Sha256dHash) -> RevBlockIter<'_> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blockchain.rs:622:27
[INFO] [stdout]     |
[INFO] [stdout] 622 |     pub fn rev_stale_iter(&self, start_hash: Sha256dHash) -> RevStaleBlockIter {
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 622 |     pub fn rev_stale_iter(&self, start_hash: Sha256dHash) -> RevStaleBlockIter<'_> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patricia_tree.rs:348:17
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn iter(&self) -> Items<K, V> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 348 |     pub fn iter(&self) -> Items<'_, K, V> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/patricia_tree.rs:357:21
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn mut_iter(&mut self) -> MutItems<K, V> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn mut_iter(&mut self) -> MutItems<'_, K, V> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.27s
[INFO] running `Command { std: "docker" "inspect" "2edf884fc42ececdc28fd781c67f33febaa0b4f42fef43107ab4148fa52f8592", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2edf884fc42ececdc28fd781c67f33febaa0b4f42fef43107ab4148fa52f8592", kill_on_drop: false }`
[INFO] [stdout] 2edf884fc42ececdc28fd781c67f33febaa0b4f42fef43107ab4148fa52f8592
